package com.geeksaga.service;

import java.util.List;
import java.util.Map;


import org.springframework.dao.DataAccessException;

import com.geeksaga.domain.BbsType;
import com.geeksaga.domain.TableRowCount;

/**
 * @author newbie, casper0402
 * @since 0.1
 */
public interface BbsTypeService {
    
    /**
     * @throws DataAccessException
     */
    public void loadCache() throws DataAccessException;
    
    /**
     * @param bbsId
     * @return
     */
    public BbsType findCacheByBbsId(String bbsId);
    
    /**
     * @return
     */
    public List<BbsType> list();
    
    /**
     * @param parameter
     * @return
     */
    public List<BbsType> list(Map<String, Object> parameter);
    
    
    /**
     * @param parameter
     * @return
     * @throws DataAccessException
     */
    public TableRowCount count(Map<String, Object> parameter) throws DataAccessException;
    
    /**
     * 
     * @param bbsType
     * @return
     * @throws DataAccessException
     */
	public BbsType add(BbsType bbsType) throws DataAccessException;
	
	/**
	 * @param bbsType
	 * @return
	 * @throws DataAccessException
	 */
	public int bbsUseModify(BbsType bbsType) throws DataAccessException;
	
	/**
	 * @param bbsType
	 * @return
	 * @throws DataAccessException
	 */
	public BbsType bbsView(BbsType bbsType) throws DataAccessException;
	
	/**
	 * @param bbsType
	 * @return
	 * @throws DataAccessException
	 */
	public int bbsAuthorityModify(BbsType bbsType) throws DataAccessException;
	
	/**
	 * @param bbsType
	 * @return
	 * @throws DataAccessException
	 */
	public int bbsScreenSetUp(BbsType bbsType) throws DataAccessException;
	
	/**
	 * @param bbsType
	 * @return
	 * @throws DataAccessException
	 */
	public int bbsSecurityUp(BbsType bbsType) throws DataAccessException;
}